import request from '@/service'
import {ElMessage} from "element-plus";
/**
 * 上传文件
 * @param params 包含文件和相关信息的参数
 */


const fileTypeMap = {
  photo: 9,
  transferRecords: 6,
  fileTransferRecords: 7,
  certificate: 8
}as const

// 修改 @/api/file.ts 中的上传函数
export const uploadFile = (params: {
  file: File,
  lawyerId: string | number,
  fileType: keyof typeof fileTypeMap,
  certificateName?: string
}) => {
  const formData = new FormData()
  formData.append('file', params.file)
  formData.append('lawyerId', params.lawyerId.toString())

  // 根据文件类型映射后端需要的 fileType 数字（与 LawyerServiceImpl 对应）

  formData.append('fileType', fileTypeMap[params.fileType].toString())

  // 证书需要额外传递名称
  if (params.fileType === 'certificate' && params.certificateName) {
    formData.append('certificateName', params.certificateName)
  }

  return request({
    // 后端律师文件上传实际由 DocumentService 处理，对应接口需新增（参考律师添加逻辑）
    url: '/api/lawyer/upload', // 需后端新增该接口，复用 uploadSingleFile 逻辑
    method: 'post',
    data: formData,
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  })
}

/**
 * 获取文件下载地址
 * @param fileName 文件名
 */
export const getFileUrl = (fileName: string) => {
  return `http://localhost:8888/api/submissions/files/download?fileName=${encodeURIComponent(fileName)}`;
}



